feat: log observability, MCP release pipeline, and tech debt cleanup#95
Merged
feat: log observability, MCP release pipeline, and tech debt cleanup#95
Conversation
Reduces the manual step of remembering to rebuild the MCP binary after code changes during range development. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
MCP binary was previously only buildable from source. Now produced alongside wallhack-cli for x64 glibc and arm64 targets. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ervability When something goes wrong (latency missing, peer disconnected, route failing), there was no way to diagnose through the control plane without SSH access to the daemon host. This adds a bounded ring buffer (last 200 lines) that captures all tracing output and exposes it through every control interface: - Proto: LogsRequest/LogsResponse - NodeApi: logs(count) method - IPC dispatch - MCP tool: logs (with lines parameter) - REPL: logs [N] - CLI: wallhack logs [-n N] - REST: GET /logs?lines=N - OpenAPI spec updated Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Auto-routing, ping removal, latency fix, channel sprawl dedup, and all stale terminology renames verified and marked done. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Per naming conventions: "client" is prohibited in domain logic. Renamed client_ip → source_ip, client_endpoint → source_endpoint, client_port → source_port across icmp.rs, manager.rs, session.rs. Also fixes duplicated doc comment in handler.rs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The SimpleSubscriber already deduplicates consecutive identical log lines. Including the peer address in the warn message is sufficient — the per-IP HashMap tracker added complexity without meaningful benefit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
neli 0.7 makes struct fields private (accessor methods), replaces struct literals with builders, moves NlSocketHandle to socket::synchronous, and changes flag types. Also extracts a shared recv_netlink_ack helper to deduplicate the route add/remove ACK handling. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Marks Cargo.lock as binary for merge purposes so git never silently auto-merges it — forces regeneration on conflict instead. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
wallhack-mcpnow built alongsidewallhack-cliin CI for x64 glibc and arm64 targetsjust build-rangealso builds MCP — single command rebuilds both VM binary and host MCP binaryclient→sourcerename in ICMP/UDP domain logic per naming conventionsPskFailTracker— subscriber dedup handles the common caseHow to verify
just checkpasses (fmt, clippy slim+default, test, bench smoke, website lint+build)wallhack logsvia MCP — should show recent daemon outputwallhack-mcp-linux-x64andwallhack-mcp-linux-arm64assets🤖 Generated with Claude Code